'''
xpath
xpath 语法
/       表根节点           【只能找到子节点】

//      根节点下所有节点    【能找到子节点的子节点】

.       当前路径

..      父级路径

*       匹配任意元素节点
例子 /div/* 选择div中所有子属性
    //*     选着文档(其父节点下的)所有子元素
    html/node()/a/@*  html下面任意节点下的所有属性
    //div[@]

@*      任意属性
'''
from lxml import etree
from xml.etree import ElementTree

'''
xpath 安装
pip3 install lxml
'''
import requests

url = 'https://movie.douban.com/top250'

page = open('豆瓣250.html', 'r', encoding='utf-8').read()

html = etree.HTML(page)

# data_list[i]与html是一个类型
data_list = html.xpath("//ol/li")

for li in data_list:
    #  .//span[@class="title"][1]/text()
    #  上面的【.】是要加的不然 他的起始位子是父亲节点
    #  上面的【[1]】表示第一个 他其实坐标从1开始
    title = li.xpath('.//span[@class="title"][1]/text()')
    source = li.xpath('.//span[@class="rating_num"][1]/text()')
    sub = li.xpath('.//span[@class="inq"][1]/text()')
    evaluate = li.xpath('.//div[@class="star"]/span[last()]/text()')
    print(f'电影名称:{title[0]},评分:{source[0]},类型:{sub[0]},评价人数:{evaluate[0]}')








